armv8 0.0.1

A library to program armv8-a (aarch64/aarch32) hardware. Contains armv8-a specific data structure definitions, data-tables, and functions to access architectural registers.
Documentation

Rust ARMv8 (aarch64/aarch32)

Rust library to program ARMv8-A hardware. It provides access and construction functions for ARMv8 hardware-defined state and data structures.

Acknowledgements

The library closely follows the structure of rust-x86, and borrows some of its code.

Supports

  • architectural registers (generated from arm xml spec)
  • paging definitions (4k granule)

Todo's

  • AArch32 support
  • Paging granules 16k and 64k

Register Binding Generation

To generate/update the Rust register bindings execute:

    $ bash tools/generate-register-bindings.sh

Dependencies for the Rust register binding generations:

    # apt-get install python3-plumbum